package com.lw.common.utils

import android.text.TextUtils
import android.widget.TextView
import java.math.BigDecimal
import java.math.RoundingMode
import java.text.DecimalFormat
import java.text.ParseException
import java.text.SimpleDateFormat

/**
 * 德通公用方法
 */
object DtUtil {
    /**
     * 判空
     *
     * @param s the s
     * @return boolean
     */
    fun isNull(s: String?): Boolean {
        return "" == s || s == null
    }

    /**
     * 处理字符串信息
     */
    fun getString(str: String?): String? {
        return if (isNull(str)) {
            "--"
        } else {
            str
        }
    }

    /**
     * 格式话水量
     */
    fun setWaterNum(f: Float): String {
        val b = BigDecimal(f.toDouble())
        //保留2位小数
        val f1 = b.setScale(2, RoundingMode.HALF_UP).toDouble()
        return f1.toString()
    }

    /**
     * @param obj 传入的小数
     */
    fun formatToNumber(obj: BigDecimal): String {
        val df = DecimalFormat("#.00")
        return if (obj.compareTo(BigDecimal.ZERO) == 0) {
            "0.00"
        } else if (obj > BigDecimal.ZERO && obj < BigDecimal(1)) {
            "0" + df.format(obj)
        } else {
            df.format(obj)
        }
    }

    /**
     * 为textview追加信息
     */
    fun appendText(view: TextView, s: String) {
        val t = view.text.toString()
        if (TextUtils.isEmpty(t)) {
            return
        }
        if (TextUtils.isEmpty(s)) {
            view.text = "-"
            return
        }
        val b = t.split("：".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()[0] +
                "：" +
                s
        view.text = b
    }

    /**
     * @param date 格式化数据
     * @param old  旧格式
     * @param news 新格式
     */
    fun formatDate1(date: String, old: SimpleDateFormat, news: SimpleDateFormat): String {
        var m = ""
        try {
            val d = old.parse(date)!!
            m = news.format(d)
        } catch (e: ParseException) {
            e.printStackTrace()
        }
        return m
    }
}